package com.tledu.email.service;

import java.util.List;
import com.tledu.email.domain.EmailBin;

/**
 * 垃圾箱Service接口
 * 
 * @author ruoyi
 * @date 2024-09-02
 */
public interface IEmailBinService 
{
    /**
     * 查询垃圾箱
     * 
     * @param id 垃圾箱主键
     * @return 垃圾箱
     */
    public EmailBin selectEmailBinById(Long id);

    /**
     * 查询垃圾箱列表
     * 
     * @param emailBin 垃圾箱
     * @return 垃圾箱集合
     */
    public List<EmailBin> selectEmailBinList(EmailBin emailBin);

    /**
     * 新增垃圾箱
     * 
     * @param emailBin 垃圾箱
     * @return 结果
     */
    public int insertEmailBin(EmailBin emailBin);

    /**
     * 修改垃圾箱
     * 
     * @param emailBin 垃圾箱
     * @return 结果
     */
    public int updateEmailBin(EmailBin emailBin);

    /**
     * 批量删除垃圾箱
     * 
     * @param ids 需要删除的垃圾箱主键集合
     * @return 结果
     */
    public int deleteEmailBinByIds(Long[] ids);

    /**
     * 删除垃圾箱信息
     * 
     * @param id 垃圾箱主键
     * @return 结果
     */
    public int deleteEmailBinById(Long id);

    // 查找当前用户的垃圾箱邮件列表
    List<EmailBin> selectBinList(EmailBin emailBin);

    // 根据用户查找当前用户的的垃圾箱邮件列表
    List<EmailBin> selectBinByCondition(EmailBin emailBin);

    // 逻辑删除，实际上的更新操作
    int updateSymbol(Long[] ids);

    // 还原操作，实际上是更新
    int updateByChangeSymbol(Long[] ids);
}
